﻿// Seteamos los Valores correspondientes a la Alcaldia
function cargar_encabezado() {
	$('#titulo_sistema').append( acronimo_sistema );
	
	if ( localStorage['modo_usuario'] == "MSC" ) {
		$('#imagen_usuario').html( '<img src="../img/botones/user_msc.gif">' );	
	} else if ( localStorage['modo_usuario'] == "MC" ) {
		$('#imagen_usuario').html( '<img src="../img/botones/user_connect.gif">' );	
	} else if ( localStorage['modo_usuario'] == "" ) {
		$('#imagen_usuario').html( '' );	
	}
}


// Seteamos los Valores correspondientes a la Alcaldia
function cargar_pie_pagina() {
	$('#municipio_pie_pagina').append( municipio_pie_pagina );
	$('#estado_pie_pagina').append( estado_pie_pagina );
}


// Seteamos los Valores correspondientes a la Alcaldia
function cargar_encabezado_mapa() {
	$('#titulo_sistema_mapa').append( acronimo_sistema );
	
	if ( localStorage['modo_usuario'] == "MSC" ) {
		$('#imagen_usuario_mapa').html( '<img src="../img/botones/user_msc.gif">' );	
	} else if ( localStorage['modo_usuario'] == "MC" ) {
		$('#imagen_usuario_mapa').html( '<img src="../img/botones/user_connect.gif">' );	
	} else if ( localStorage['modo_usuario'] == "" ) {
		$('#imagen_usuario_mapa').html( '' );	
	}
}


// Seteamos los Valores correspondientes a la Alcaldia
function cargar_pie_pagina_mapa() {
	$('#municipio_pie_pagina_mapa').append( municipio_pie_pagina );
	$('#estado_pie_pagina_mapa').append( estado_pie_pagina );
}


// Setear valores de Estado y Municipio por Defecto
function setear_estado_municipio() {
	$('#id_estado').val( codigo_estado_base );
	$('#nombre_estado').val( nombre_estado_base );
	$('#id_municipio').val( codigo_municipio_base );
	$('#nombre_municipio').val( nombre_municipio_base );
}


// Seteamos los Valores de la Fuerza de la Contraseña del Sistema
function setear_fuerza_sistema() {
	$('#h_fuerza_sistema').val( fuerza_sistema );
}


// =================================================================================================================
// ============================ Checkea el Tipo de Conexion del Dispositivi Movil ==================================
// =================================================================================================================

function checkConnection() {
	//navigator.notification.alert("Validando la Conexión con el Servidor", null, acronimo_sistema, "Aceptar");
	
	var networkState = navigator.network.connection.type;
	
	var states = {};
	states[Connection.UNKNOWN]  = 'Unknown connection';
	states[Connection.ETHERNET] = 'Ethernet connection';
	states[Connection.WIFI]     = 'WiFi connection';
	states[Connection.CELL_2G]  = 'Cell 2G connection';
	states[Connection.CELL_3G]  = 'Cell 3G connection';
	states[Connection.CELL_4G]  = 'Cell 4G connection';
	states[Connection.NONE]     = 'No network connection';

	//navigator.notification.alert("El Tipo de Conexion es: " + states[networkState], null, acronimo_sistema, "Aceptar");
	//if ( states[networkState] == states[Connection.CELL_3G] || states[networkState] == states[Connection.WIFI] ) {
	if ( states[networkState] == states[Connection.WIFI] ) {
		return true;
	} else {
		return false;
	}
}


// =================================================================================================================
// ============================ Checkea el Tipo de Conexion del Dispositivo Movil ==================================
// =================================================================================================================

function obtener_coordenadas() {
	
	$("#coord_x").val("");
	$("#coord_y").val("");
	
	if ( debbugModeDM ) {
		
		// Coordenadas a Modo de Prueba para los Navegadores
		random_x = Math.ceil(Math.random()*999);
		random_y = Math.ceil(Math.random()*999);
		
		$("#coord_x").val( "10.5" + random_x + "93" );
		$("#coord_y").val( "-66.9" + random_y + "77" );
		
	} else {
		// Obtención de Coordenadas a traves del GPS (Solo para los Dispositivos Moviles)
		navigator.geolocation.getCurrentPosition(onSuccessOC, onErrorOC, { maximumAge: 3000, timeout: 20000, enableHighAccuracy: true } );
	}
}

// Si la Respuesta es Exitosa
function onSuccessOC( position ) {
	nueva_coord_x = parseFloat(position.coords.latitude).toFixed(8);
	nueva_coord_y = parseFloat(position.coords.longitude).toFixed(8);
	
	// Seteamos los Valores en los Campos
	$("#coord_x").val( nueva_coord_x );
	$("#coord_y").val( nueva_coord_y );
	
	// Advertimos al Usuario con un Vibración
	navigator.notification.vibrate(1000);
}
		
// Si la Respuesta es Erronea
function onErrorOC( error ) {
	$("#coord_x").val("");
	$("#coord_y").val("");
	
	// Advertimos al Usuario con un Sonido
	navigator.notification.beep(1);
	
	// Manejamos los mensajes de Error
	if ( error.code == 2 ) {
		navigator.notification.alert("El Proveedor de última ubicación ya no está Disponible. \nPor favor, vuelva a intentarlo.", null, acronimo_sistema, "Aceptar");
	} else if ( error.code == 3 ) {
		navigator.notification.alert("Tiempo de espera agotado. \nPor favor, vuelva a intentarlo.", null, acronimo_sistema, "Aceptar");	
	} else {
		navigator.notification.alert("No se ha podido obtener las Coordenadas. Verifique que el GPS se encuentre activado he inténtelo de nuevo.", null, acronimo_sistema, "Aceptar");
	}
}


// =================================================================================================================
// ======================================== Colocar Campos en Mayusculas ===========================================
// =================================================================================================================

function convertir_Mayusculas(campo) {
  	campo.value = campo.value.toUpperCase();
}


// =================================================================================================================
// ============================================ Verificar si es un numero ==========================================
// =================================================================================================================

function IsNumeric(strString) {
    var strValidChars = "0123456789";
    var strChar;
    var blnResult = true;

    if (strString.length == 0) return false;

    //  test strString consists of valid characters listed above
    for (i = 0; i < strString.length && blnResult == true; i++) {
        strChar = strString.charAt(i);
        if (strValidChars.indexOf(strChar) == -1) {
            blnResult = false;
        }
    }
    return blnResult;
}


// =================================================================================================================
// ========================================= Verificar si es un alfanumerico =======================================
// =================================================================================================================

function IsAlphaNum(str) { 
    var isValid = true;
    str += "";
    for (i = 0; i < str.length; i++) {
        //Alfanumerico debe ser entre "0"-"9", "A"-"Z", o "a"-"z"
        if (!(((str.charAt(i) >= "0") && (str.charAt(i) <= "9")) ||
            ((str.charAt(i) >= "a") && (str.charAt(i) <= "z")) ||
            ((str.charAt(i) >= "A") && (str.charAt(i) <= "Z")))) {
            isValid = false;
            break;
        }
    }
    return isValid;
}


// =================================================================================================================
// ================================= Validar una direccion de Correo Electronico ===================================
// =================================================================================================================

function isEmailAddress(email) {	
	var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	if (email.length == 0 ) return true;
	if (filter.test(email)) {
		return true;
	} else {
		return false;
	}
}


// =================================================================================================================
// ========================== Convierte las cantidades en formato 1.000,23 ---> 1000.23 ============================
// =================================================================================================================

function number_formatjs(valor) {
	
	var aux = valor.split(",");
	if ( aux.length == 0  ){
		return 0;
	}

	for ( i = 0; i < aux.length; i++ ) {		
		// Valores Enteros
		if ( i == 0 ) {
			var auxi = aux[i].split(".");
			var acum = '';
			for ( j = 0; j < auxi.length; j++ ) {
				acum+= auxi[j];
			}
			
			if ( Number(acum) <= 0 ) {
				acum = 0;
			}
		}
		
		// Valores Decimales
		if ( i == 1 ) {
			acum = acum + "." + aux[i];
		}
		
	}
	
	return parseFloat(acum);
}


// =================================================================================================================
// ========================== Convierte las cantidades en formato 1000.23 ---> 1.000,23 ============================
// =================================================================================================================

function number_formatjs_esp(valor) {
	var aux 	= valor.split(".");	// se separan los enteros de los decimales
	var acum	= "";
	var j 		= aux[0].length;	
	
	// Ciclo que coloca . a los miles de la parte entera
	for ( i = 0; i < aux[0].length; i++ ) {	
		if ( j % 3 == 0 && aux[0].length != 3 ) {			
			acum += ".";
		}
		
		acum += aux[0].charAt(i);
		j--;
	}
	
	// Si no hay decimales se colocan dos ceros por defecto
	if ( !aux[1] ) {
		aux[1] = "00";
	} else {
		aux[1] = aux[1].substring(0,2);
	}
	
	// Si el primer caracter queda como . se le quita
	if ( acum.charAt(0) == "." ) {
		acum = acum.substring(1);
	}
		
	return acum+","+aux[1];
}


// =================================================================================================================
// ============================================= Ir al Menu Principal ==============================================
// =================================================================================================================

function irMenuPrincipal(boton) {
    if ( boton == 1 ) {
        location.href="MenuPrincipal.html";
    }
}


// =================================================================================================================
// ======================================== Ir al SubMenu de Accidentes ============================================
// =================================================================================================================

function irSubMenuAcc(boton) {
    if ( boton == 1 ) {
        location.href="SubMenuAccidentes.html";
    }
}


function validar_conexion_internet() 
{
	document.addEventListener("online", onOnline, false);
	document.addEventListener("offline", onOffline, false)
	
	if ( localStorage['hay_conexion'] == "true" ) 
	{
		$('#imagen_servidor').html( '<img src="../img/botones/server_ok.gif">' );
		$('#imagen_servidor_mapa').html( '<img src="../img/botones/server_ok.gif">' );
	} 
	else 
	{
		$('#imagen_servidor').html( '<img src="../img/botones/server_error.gif">' );
		$('#imagen_servidor_mapa').html( '<img src="../img/botones/server_error.gif">' );
	}	
}

function onOnline() 
{
	//navigator.notification.alert("ATENCIÓN: Se ha ENCONTRADO Conexión con el Servidor para la Ubicación actual.", null, acronimo_sistema, "Aceptar");
	
	localStorage['hay_conexion'] = true;
	$('#imagen_servidor').html( '<img src="../img/botones/server_ok.gif">' );
	$('#imagen_servidor_mapa').html( '<img src="../img/botones/server_ok.gif">' );
}


function onOffline() 
{
	//navigator.notification.alert("ATENCIÓN: Se ha PERDIDO la Conexión con el Servidor para la Ubicación actual.", null, acronimo_sistema, "Aceptar");
	
	localStorage['hay_conexion'] = false;
	$('#imagen_servidor').html( '<img src="../img/botones/server_error.gif">' );
	$('#imagen_servidor_mapa').html( '<img src="../img/botones/server_error.gif">' );
}